import { Blocks } from './blocks';
import { Caret } from './caret';
import { Events } from './events';
import { Listeners } from './listeners';
import { Notifier } from './notifier';
import { Sanitizer } from './sanitizer';
import { Saver } from './saver';
import { Selection } from './selection';
import { Styles } from './styles';
import { Toolbar } from './toolbar';
import { InlineToolbar } from './inline-toolbar';
import { Tooltip } from './tooltip';
import { I18n } from './i18n';
import { ReadOnly } from './readonly';
import { Ui } from './ui';


/**
 * We have a namespace API {@link ./api/index.d.ts} (APIMethods) but we can not use it as interface
 * So we should create new interface for exporting API type
 */
export interface API {
  blocks: Blocks;
  caret: Caret;
  events: Events;
  listeners: Listeners;
  notifier: Notifier;
  sanitizer: Sanitizer;
  saver: Saver;
  selection: Selection;
  styles: Styles;
  toolbar: Toolbar;
  inlineToolbar: InlineToolbar;
  tooltip: Tooltip;
  i18n: I18n;
  readOnly: ReadOnly;
  ui: Ui;
}
